package cx3k.GUI;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;

public class Schedule {
	int scheduleProfile;
	int scheduleId;
	String scheduleName;
	// add grouping instead which contains classes, if grouping of classes is 1, set boolean to disable dropdown menu
	//List <Semester> semesters;
	List <Course> courses;
	List<AcademicYear> years;
	
	public Schedule(){
		this(0, 0, "N/A", null);
	}
	
	public Schedule(int scheduleProfile, int scheduleId, String scheduleName, List<Course> courses){
		this.scheduleProfile = scheduleProfile;
		this.scheduleId = scheduleId;
		this.scheduleName = new String(scheduleName);
		this.courses = courses;
	}
	
	public Schedule(Schedule temp){
		this(temp.scheduleProfile, temp.scheduleId, temp.scheduleName, new ArrayList(temp.courses));
	}
	
	public int getScheduleProfile(){
		return this.scheduleProfile;
	}
	public int getScheduleId(){
		return this.scheduleId;
	}
	public String getScheduleName(){
		return new String(this.scheduleName);
	}
	public List getCourses(){
		return this.courses;
	}
	public void setCourses(List courses){
		this.courses = new ArrayList(courses);
	}
	
	public Collection<AcademicYear> getYears() {
		return this.years;
	}
	public void printCourses(){
		for(int i = 0; i < courses.size(); i++)
			System.out.println("SchedName: '" + this.scheduleName + "'  SchedId: " + this.scheduleId + "  ShedProfile: " + this.scheduleProfile
					+ courses.get(i).getCourseId() + "\t" 
					+ courses.get(i).getDescription() 
					+ "\t" + courses.get(i).getSemester().toString());
	}
	
	
}
